Field of the Invention
The present invention relates to user-interfaces for computer systems. More specifically, the present invention relates to a method for automatically directing user input to a search field in a user interface.
Related Art
The relentless growth of the Internet has been largely fueled by the development of sophisticated search engines, which enable users to comb through billions of web pages looking for specific pages of interest. A user can enter one or more search terms, and receive millions of search results. Due to the amount of data involved, a search by a user typically involves an iterative process in which the user adjusts and refines the search terms to find a desired set of search results.
During this search refinement process, the “focus” of the user interface can change one or more times. The focus of the user interface is the portion of the user interface set to receive user input. For instance, when the user selects a search field in a web page (e.g., via a mouse click) and then enters a search term into the search field by pressing keys on an input device, the search field receiving the input has the focus of the user interface. Later, for instance when the user highlights a result in a list of results returned in response to a search query, the focus of the user interface shifts to the page-level, and further inputs are directed to the page-level instead of to the search field. For example, when the focus is on the page-level of a web page and a user presses an arrow key, page-level navigational actions may be performed as a result of the key press.
The search refinement process typically involves entering a set of search terms into a search field, browsing through a list of search results, and then possibly modifying the search terms and initiating a refined search. Because the search field may no longer be visible in the user-interface context after the user has browsed through the list of search results, and the focus of the user interface may have changed, the user typically will need to perform a number of user-interface actions to modify the search terms and initiate a subsequent refined search. These navigational actions take time to perform and delay the search process.
Hence, what is needed is a method and an apparatus that allows users to modify search terms without the problems of the above-described techniques.